package com.wicket.okrapp.base.service.dto.common;

import com.wicket.okrapp.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;

import lombok.Data;
import java.util.Objects;

/**
 * @desc TargetTestDataLoopStartDto
 * @使用场景
 */
@Data
public class TargetTestDataLoopStartDto
  extends BaseDto
  implements Serializable {

  /**
   * 指标ID
   */
  @ApiModelProperty("指标ID")
  private String objectiveId;

  /**
   * 冗余目标ID
   */
  @ApiModelProperty("冗余目标ID")
  private String targetId;

  /**
   * 批次标识
   */
  @ApiModelProperty("批次标识")
  private String batchCode;
/**
     * 是否末级指标 TRUE:是 FALSE:否
     */
    @ApiModelProperty("是否末级指标")
    private String	 isLastObjective;

    /**
     * 层级 
     */
    @ApiModelProperty("层级")
    private Long	 levelNumber;

    /**
     * 冗余指标业务类型 NUMBER_GROWTH:数量增长型 NUMBER_DECLINE:数量降幅型 PERCENTAGE_GROWTH:百分比增长型 PERCENTAGE_DECLINE:百分比降幅型 PROGRESS:进度型 RATIO_GROWTH:比率增长型 RATIO_DECLINE:比率降幅型 SUBJECTIVE_QUALITATIVE:主观定性
     */
    @ApiModelProperty("冗余指标业务类型")
    private String	 targetValueType;

    /**
     * 冗余评价模板ID 
     */
    @ApiModelProperty("冗余评价模板ID")
    private String	 evaluationTemplateId;
@Override
  public boolean equals(Object o) {
      if (this == o) return true;
      if (o == null || getClass() != o.getClass()) return false;
      if (!super.equals(o)) return false;
      TargetTestDataLoopStartDto that = (TargetTestDataLoopStartDto) o;
      return  objectiveId == that.objectiveId&&targetId == that.targetId&&batchCode == that.batchCode&&isLastObjective == that.isLastObjective&&levelNumber == that.levelNumber&&targetValueType == that.targetValueType&&evaluationTemplateId == that.evaluationTemplateId;
    }
@Override
  public int hashCode() {
      return Objects.hash(super.hashCode(), objectiveId,targetId,batchCode,isLastObjective,levelNumber,targetValueType,evaluationTemplateId);
    }

}
